跳到主要内容

对话框(Dialog)

Dialog 类是对话框窗口的基类。对话框窗口是一个顶层窗口,可以是模态或非模态的:

  • 模态对话框:通过 exec() 显示的对话框,会阻止对其他可见控件的输入。用户必须完成与对话框的交互并关闭它后,才能访问其他控件。
  • 非模态对话框:通过 open() 显示的对话框,与其他控件独立运行,不会阻止用户操作其他控件。 对话框的默认位置是居中显示在桌面上。

可调整大小的对话框(ResizableDialog)

ResizableDialog 类继承自 Dialog 类。可调整大小的对话框允许用户通过拖动对话框右下角的拖拽控件来改变对话框的大小。

事件

调整大小事件(resized)

对于可调整大小的对话框,每当对话框的大小发生变化时,会触发 resized 事件。

// 监听调整大小事件
dialog.bind('resized', (event: ResizeEvent) => {
event.size; // 当前对话框的大小。
});

示例代码

创建一个带有关闭按钮的对话框

以下代码将创建一个对话框,并在其中添加一个关闭按钮:

const dialog = new Dialog();
dialog.title = 'Dialog';
dialog.size = new Size(280, 300);
dialog.addButton('Close', (): void => {
dialog.close();
});
dialog.exec();

创建一个可调整大小的对话框

如果需要更改对话框的大小,可以使用 ResizableDialog 类。可以通过 minimumSizemaximumSize 属性设置对话框的大小范围:

const dialog = new ResizableDialog();
dialog.title = 'Resizable Dialog';
dialog.size = new Size(280, 300);
dialog.minimumSize = new Size(140, 212);
dialog.maximumSize = new Size(640, 720);
dialog.addButton('Close', (): void => {
dialog.close();
});
dialog.exec();